Various reports indicate increased reliance on the Internet as a predominant medium for communication. Indeed, the Internet has emerged as the most essential and cost effective medium for communication and interaction for corporations, institutions, and individuals. In that regard, security concerns have arisen with respect to Internet based transactions. Under many circumstances, a service provider expects a responder to be a human. That is, the service provider expects that a response received from the responder is generated by a human using a user machine rather than the response being machine-generated (e.g., a response by bots or software). Therefore, a desire of human interactive proof has evolved. For example, in an Internet-based voting survey offered by a service provider, for example, whether brand “A” is better than brand “B”, the service provider may essentially expect a human as responder to the survey. However, various software programs have been developed that are configured to provide a favorable response for one of the brands. Those programs may be configured to provide a favorable response causing the voting result to become fabricated and the final result to not be a true result. To affirm there is a human response and to evade the software program or bots to provide any response, many techniques have been developed. One well-known technique that is extensively used in ensuring proof of human interaction is providing a captcha object to the user machine. Conventionally, captcha objects may be images, pictures, alphanumeric strings, or combinations thereof, which are intended to be displayed at user's interface. Conventionally, a query such as “what is the image”, “write the name of the object displayed”, “enter the displayed text” or another similar query may also be asked when the captcha object is presented to a user. Upon displaying the captcha object, the user may be requested to provide a suitable response for the captcha in an input box. A normal human user is likely to be able to recognize or read the challenge provided in the captcha, and provide an appropriate response. This process establishes whether the interactive user is a “human” or a not a human i.e., a “machine”, bot, software, etc.
Because captchas displayed at a user's interface tend to be static, the above-described approach suffers from several disadvantages. Techniques like optical character recognition (OCR) have been successfully used to break the captchas mentioned above. An OCR system, for example, may recognize the image or text presented at a system's interface and feed a response as if a human. Similarly, software programs may also be devised that contain a list of plausible images and dictionary connotations corresponding to the images. Such software programs may fetch the image displayed at a client system interface and compare it with the images in the list. If the image is matching, the software programs may select the dictionary connotation corresponding to the image and provide it as a response. For example, if a lion is displayed at the interface of system, a software program may fetch the image and compare it to the list of stored images. On matching the image displayed in the interface with image of lion from the list, the dictionary connotation corresponding to the image from the list (i.e., lion) may be fed as user input. Thus, software applications or machines may be devised that are able to provide proper responses to captcha queries and defeat the object of human interactive proof.
As a result, an improved captcha is desired to establish human interactive proof where the captcha should be designed in such a way that it is neither easy for a software program to solve, nor too hard for a human to infer and provide a response to.